
#ifndef tlmRmtCfgParaWeb_H
#define tlmRmtCfgParaWeb_H

//## attribute mFreeSurfStatus
#include "tlmRmtCfgElementPara.h"
//## class tlmRmtCfgParaWeb
#include "tlmRmtCfgPara.h"

//## class tlmRmtCfgParaWeb
class tlmRmtCfgParaWeb : public tlmRmtCfgPara {
    ////    Friends    ////
    
public :

    //#[ type TLM_RMT_CFG_PARA_WEB_ELEMENT_COUNT
    #define TLM_RMT_CFG_PARA_WEB_ELEMENT_COUNT 5

    #define TLM_RMT_CFG_ELEMENT_CODE_WEB_GEN_SPEED_THRESHOLD  0x20
    #define TLM_RMT_CFG_ELEMENT_CODE_WEB_FREE_SURF_STATUS  0x30
    #define TLM_RMT_CFG_ELEMENT_CODE_WEB_WEB_PORTAL_STATUS  0x38
    #define TLM_RMT_CFG_ELEMENT_CODE_WEB_WEB_PROTAL_SUB_STATUS  0x40
    #define TLM_RMT_CFG_ELEMENT_CODE_WEB_REMOTE_HMI_STATUS   0x48

    ////    Constructors and destructors    ////
    
    tlmRmtCfgParaWeb();
    
    virtual ~tlmRmtCfgParaWeb();
    
    ////    Operations    ////
    
    //## operation GetItem(uint8_t)
    virtual tlmRmtCfgElementPara* GetItem(uint8_t code);
    
    // Save the Web parameters into nvm.
    //## operation Save()
    virtual uint8_t Save();
    
    ////    Additional operations    ////
    

    void InitFreeSurfStatus(uint8_t * freeSurfStatus) ;
    
    void InitRmtHmiStatus(uint8_t * rmtHmiStatus) ;


    void InitSpeedThreshold(uint8_t * spdThreshold) ;

    void InitWebPortalStatus(uint8_t * status) ;


    void InitWebPortalSubStatus(uint8_t * status) ;

    
    
    ////    Attributes    ////

protected :

    tlmRmtCfgElementPara mFreeSurfStatus;		//## attribute mFreeSurfStatus
    
    tlmRmtCfgElementPara mRmtHmiStatus;		//## attribute mRmtHmiStatus
    
    tlmRmtCfgElementPara mSpdThreshold;		//## attribute mSpdThreshold
    
    tlmRmtCfgElementPara mWebPortalStatus;		//## attribute mWebPortalStatus
    
    tlmRmtCfgElementPara mWebPortalSubStatus;		//## attribute mWebPortalSubStatus
};
#endif
